<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Hoodoo::Communicators::Fast</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../css/github.css" type="text/css" media="screen" />
<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script>

</head>

<body>
    <div class="banner">
        <h1>
            <span class="type">Class</span>
            Hoodoo::Communicators::Fast
                <span class="parent">&lt;
                    Object
                </span>
        </h1>
        <ul class="files">
            <li><a href="../../../files/lib/hoodoo/communicators/fast_rb.html">lib/hoodoo/communicators/fast.rb</a></li>
        </ul>
    </div>
    <div id="bodyContent">
        <div id="content">
    <div class="description">
      
<p>See <a href="Pool.html">Hoodoo::Communicators::Pool</a> for details.</p>

<p>A “fast communicator”. Subclass this to create a class where instances are
invoked via <a href="Fast.html#method-i-communicate">#communicate</a> with
some parameter and, in response, they talk to some other piece of software
to communicate information related to that parameter. The communication is
expected to be fast and will be called from Ruby&#39;s main execution
thread.</p>

<p>If the communicator takes a long time to complete its operation, other
processing will be delayed. If you expect this to happen, subclass <a
href="Slow.html">Hoodoo::Communicators::Slow</a> instead.</p>

<p>Example: A communicator might be part of a logging scheme which writes to
<code>STDOUT</code>. The parameter it expects would be a log message
string.</p>

    </div>








    <!-- Method ref -->
    <div class="sectiontitle">Methods</div>
    <dl class="methods">
        <dt>C</dt>
        <dd>
          <ul>
              <li>
                <a href="#method-i-communicate">communicate</a>
              </li>
          </ul>
        </dd>
    </dl>










    <!-- Methods -->
      <div class="sectiontitle">Instance Public methods</div>
        <div class="method">
          <div class="title method-title" id="method-i-communicate">
              <b>communicate</b>( object )
            <a href="../../../classes/Hoodoo/Communicators/Fast.html#method-i-communicate" name="method-i-communicate" class="permalink">Link</a>
          </div>

            <div class="description">
              <p>Communicate quickly with the piece of external software for which your
subclass is designed. Subclasses <em>must</em> implement this method. There
is no need to call <code>super</code> in your implementation.</p>
<dl class="rdoc-list note-list"><dt><code>object</code>
<dd>
<p>Parameter sent by the communication pool, in response to someone calling <a
href="Pool.html#method-i-communicate">Hoodoo::Communicators::Pool#communicate</a>
with that value.</p>
</dd></dl>
            </div>



            <div class="sourcecode">
              <p class="source-link">
                Source:
                <a href="javascript:toggleSource('method-i-communicate_source')" id="l_method-i-communicate_source">show</a>
              </p>
              <div id="method-i-communicate_source" class="dyn-source">
                <pre><span class="ruby-comment"># File lib/hoodoo/communicators/fast.rb, line 39</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">communicate</span>( <span class="ruby-identifier">object</span> )
  <span class="ruby-identifier">raise</span>( <span class="ruby-string">&#39;Subclasses must implement #communicate&#39;</span> )
<span class="ruby-keyword">end</span></pre>
              </div>
            </div>
          </div>
</div>

    </div>
  </body>
</html>
